#python 模块与包
#python 模块：  就是python文件，里面定义了很多的函数、类、变量


# import string
# import random
# import requests
#模块分类：
#标准模块（库）     无需安装，python自带， 比如说： random， string
#第三方模块（库）    需要安装
#自定义模块         自己写的python文件

#python包
#python的包实际上就是一个目录
#包的结构目录里可以有一个__init__.py模块
#py2 与py3
#py2： __init__.py 必须
#py3： __init__.py  可选的


#模块的导入


#python的执行
#1、语法分析
#2、编译生成字节码 .pyc
#3、执行pyc

#当模块导入运行的时候，会在同级目录下生成__pycache__目录，将生成的字节码保存在此目录下
#       下一次使用时直接运行字节码文件

#python3  生成__pycache__目录
#python2  只会在模块同级目录下生成.pyc文件

#当模块直接运行时 不会保存字节码


#打包与安装
#1、创建模块包 modpack   需要一个__init__.py
#2、在模块包同级目录下生成配置文件 setup.py
# [root@sdyxz python-test]# cat setup.py
# from setuptools import setup, find_packages
#
# setup(
#    #包名
#    name = "modtest",
#    #官网
#    url = "http://www.sanlearning.com",
#    #版本
#    version = "0.0.1",
#    #指定要打包的模块和包
#    packages = find_packages(),
#    #作者
#    author = "wen",
#    #邮箱
#    author_email = "343292019@qq.com",
#    #依赖
#    install_requires = ['xlrd>=1.1.0'],
#    #描述信息
#    description = "this is test pack"
# )

#3、运行python3 setup.py check 进行语法检查
#4、运行python3 setup.py sdist 生成tar.gz压缩包，会在同目录下生成一个dist目录
#   打包好的安装包文件就放在dist目录下
#5、安装
#   进入 sdist目录
#   pip3 install modtest-0.0.1.tar.gz
# #6、测试
# [root@sdyxz dist]# python3
# Python 3.6.8 (default, Apr 16 2020, 01:36:27)
# [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
# Type "help", "copyright", "credits" or "license" for more information.
# >>> from modpack import modtest
# i am modtest
# >>>

#abccabc
#123xyz123456
#abefab


#1、密码验证
#2、列表去重并从大到小排序
#3、如果在一个函数内部修改全局变量
#4、如何跨模块共享全局变量
#5、python数据类型有哪些
#6、python中生成随机整数（1-10），随机小数（1-10），0-1之间小数的方法
#7、python2与python3 的区别，列出5个
#8、python中哪些是可变数据类型，哪些是不可变数据类型，为什么
#9、统计字符串中每个单词出现的次数
#10、给定一个字符串，找到字符串中第一个重复的字符
#11、什么是pep8
#12、python里如何赋值，深拷贝与浅拷贝的区别
#13、简述python的内存管理机制
#14、使用python实现冒泡排序
#15、使用python实现快速排序
#16、输出九九乘法表
#17、重复接受用户的数据，如果是正整数就输出结果，否则一直输入
#18、有两个列表[11,-3,4,5,2,1,8] , [9,3,4,2,6,-10] 把它们合并成一个列表，并且从小到大排序
#19、a+=1 与 a=a+1 有什么区别